# 用例解析器， 根据你传过来的参数，选择不同的解析器
import os

# TODO 1 :导入对应的具体参数化的方法，比如 Yaml 和 Excel的文件
from parse.YamlCaseParser import yaml_case_parser
from parse.ExcelCaseParser import excel_case_parser


# TODO 2 :具体调用的方法，需要告知别人调用的是什么格式Yaml还是Excel，同时对应的路径是什么
def case_parser(case_type, case_dir):
    """
    type： 用例类型
    dir: 用例所在文件夹
    return: 返回 {"case_name":[], "cases_info":[]}
    """
    config_path = os.path.abspath(case_dir)
    print("用例读取中...", dir)
    if case_type == 'yaml':
        return yaml_case_parser(config_path)
    if case_type == 'excel':
        return excel_case_parser(config_path)

    return {"case_name": [], "cases_info": []}


# TODO 3: 测试如上的方法
def t_yaml_case_parser():
    # 单元测试 ，检查 yaml_case_parser 方法的正确性
    data = case_parser("yaml", "./examples")
    return data

# TODO 4: 测试如上的方法
def t_excel_case_parser():
    # 单元测试 ，检查 yaml_case_parser 方法的正确性
    data = case_parser("excel", "./examples")
    return data